The present invention relates generally to the field of database application development, and more particularly to quality assurance in database management systems.
Most common database management systems have a multi-tier architecture where a client sends a request to a server, which processes the request to a middle-tier server or database, which then sends the request to a back-tier database. This process can be done concurrently by many clients. Therefore, at the middle-tier and back-tier, a degree of concurrency control is necessary for the system to operate. In concurrency control and quality assurance with the transactional workloads there is oftentimes a tradeoff between data consistency and performance of the system.
One technique to maintain the concurrency and quality of the system is to adjust the isolation level of a database management system (DBMS). The isolation level determines how transaction integrity is visible to other users and systems. If the isolation level is lower, there is an increased ability of users to access the data at the same time, but also an increase in the amount of concurrency users can possibly encounter. A lower isolation level results in a system that provides more opportunity for anomalies to appear in the database. In lower isolation levels there is an increase in operating speed and performance of the system, which makes adjusting the isolation levels of the DBMS a viable option for processes where speed is a priority. Conversely, by increasing the consistency level of the system there is a reduction in types of concurrency effects that users may encounter. This type of database system will require a high degree of domain knowledge by an operator to maintain comparable efficiency levels, but fewer anomalies may appear in the system.